One prior art method for encrypting a string of information is to exclusive OR each character of the string with a portion of a key sequence. A key sequence is a pseudo-random sequence of characters that is developed according to a cryptographic algorithm. One cryptographic algorithm is the National Bureau of Standards' Data Encryption Standard (DES). (The National Bureau of Standards' is known today as the National Institute of Science and Technology.) Typically there is a one-to-one correspondence between each character in the string of information to be encrypted and each character in the key sequence. The unencrypted version of the string is known as "plain text", while the encrypted version of the string is known as "cipher text".
With the rapid expansion of the number of portable communication devices, such as cordless and mobile telephones, there is an increased need for security when using such devices. The need is especially acute when such portable devices broadcast credit card numbers or other sensitive information via open air channels. This is because, without employing security techniques, anyone with a readily obtainable matching receiver can access the information as it is transmitted.
One way to generate key sequences, which requires the performance of complex computations, is to employ dedicated hardware. Such dedicated hardware can operate without impacting the functioning of any other portion of the portable device. However, as is well known, it is desirable that portable devices be as small, lightweight, power miserly and inexpensive as possible. Unfortunately, adding dedicated hardware to a portable device increases its size, weight, power consumption and cost. As a result, doing so is undesirable.
A known alternative approach for encrypting information by a portable device is to use the microprocessor typically found in such a device to generate the key sequence and to perform the required encryption. However, this approach suffers from the drawback that the performance of the complex computations necessary to generate a key sequence is extremely time consuming for the microprocessor. This drawback results in a severe limit on the rate at which information can be encrypted, and this limit, in turn, causes a delay in the transmission of the encrypted information. This delay is typically unacceptable to a user of the portable device who must await completion of the encryption and transmission before proceeding to his next task.